Micron Document
welo git mirrors

Node / public / rns-proxy / files / examples / server.rs

Displaying Raw • Download

examples/server.rs 7665d1ff7cd726ad6916167d1bb693ac95d4e5e2 (7665d1ff) Text, 1.44 KB

T8b949e//! Minimal RNS SOCKS5 proxy server (exit node).
T8b949e//!
T8b949e//! Usage:
T8b949e//! cargo run --example server
T8b949e//! cargo run --example server -- --identity-file /path/to/key
T8b949e//! RUST_LOG=debug cargo run --example server
T8b949e//!
T8b949e//! Prerequisites:
T8b949e//! pip install rns && rnsd
T8b949e//!
T8b949e//! The server will print its destination hash on startup.
T8b949e//! Pass this hash to the client example with `-d <hash>`.
T8b949e//!
T8b949e//! Identity is persisted to `~/.reticulum/rns_proxy_identity` by default,
T8b949e//! so the server address stays the same across restarts.

Tff7b72use Te6edf3clap::Te6edf3ParserTb4b4b4;
Tff7b72use Te6edf3rns_proxy::Te6edf3cli::Tb4b4b4{Te6edf3CliTb4b4b4, Te6edf3CommandsTb4b4b4}Tb4b4b4;

Tff7b72#[Tff7b72tokio::mainTff7b72]
Tff7b72async Tff7b72fn Td2a8ffmainTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3cli Tff7b72= Te6edf3Cli::Te6edf3parse_fromTb4b4b4(
Tb4b4b4[Ta5d6ff"Ta5d6ffrns-proxyTa5d6ff"Tb4b4b4.Te6edf3to_stringTb4b4b4(Tb4b4b4)Tb4b4b4, Ta5d6ff"Ta5d6ffserverTa5d6ff"Tb4b4b4.Te6edf3to_stringTb4b4b4(Tb4b4b4)Tb4b4b4]
Tb4b4b4.Te6edf3into_iterTb4b4b4(Tb4b4b4)
Tb4b4b4.Te6edf3chainTb4b4b4(Te6edf3std::Te6edf3env::Te6edf3argsTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3skipTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4)Tb4b4b4;

Tff7b72let Te6edf3log_level Tff7b72= Tff7b72if Te6edf3cliTb4b4b4.Te6edf3debug Tb4b4b4{ Ta5d6ff"Ta5d6ffdebugTa5d6ff" Tb4b4b4} Tff7b72else Tb4b4b4{ Ta5d6ff"Ta5d6ffinfoTa5d6ff" Tb4b4b4}Tb4b4b4;
Te6edf3env_logger::Te6edf3Builder::Te6edf3from_envTb4b4b4(Te6edf3env_logger::Te6edf3Env::Te6edf3defaultTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3default_filter_orTb4b4b4(Te6edf3log_levelTb4b4b4)Tb4b4b4)
Tb4b4b4.Te6edf3format_timestamp_secsTb4b4b4(Tb4b4b4)
Tb4b4b4.Te6edf3initTb4b4b4(Tb4b4b4)Tb4b4b4;

Tff7b72match Te6edf3cliTb4b4b4.Te6edf3command Tb4b4b4{
Te6edf3Commands::Te6edf3Server Tb4b4b4{ Te6edf3identity_file Tb4b4b4} Tff7b72=Tff7b72> Tb4b4b4{
Tffa657dropTb4b4b4(Te6edf3identity_fileTb4b4b4)Tb4b4b4;
Tff7b72eprintln!Tb4b4b4(Ta5d6ff"Ta5d6ffStarting RNS SOCKS5 proxy server...Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72eprintln!Tb4b4b4(Ta5d6ff"Ta5d6ffMake sure rnsd is running (pip install rns && rnsd)Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72eprintln!Tb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72eprintln!Tb4b4b4(Ta5d6ff"Ta5d6ffsomeone update this example latter xoxoTa5d6ff"Tb4b4b4)
T8b949e// rns_proxy::server::run_server(identity_file.as_deref()).await;
Tb4b4b4}
Te6edf3_ Tff7b72=Tff7b72> Tff7b72unreachable!Tb4b4b4(Tb4b4b4)Tb4b4b4,
Tb4b4b4}
Tb4b4b4}

Served by rngit 1.4.2 - Generated in 0.08s